package com.test.parse;

import java.io.IOException;
import java.util.ArrayList;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.ParseException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

import com.google.gson.Gson;

public class BaofenParser {
	// json转java类http://www.bejson.com/json2javapojo/
	// 解析到VR大片数据
	public static BaofenVR parse(){
		String jsonData = getData(vrUrl);
		Gson gson = new Gson();
		BaofenVR ret = gson.fromJson(jsonData, BaofenVR.class);
		
		return ret;
	}
	
	public static BaofenVRVideo parseFromUrl(String url){
		String jsonData = getData(baseUrl+url);
		Gson gson = new Gson();
		BaofenVRVideo ret = gson.fromJson(jsonData, BaofenVRVideo.class);
		
		return ret;
	}
	
	// 获取网络数据
	public static String getData(String url){
		DefaultHttpClient httpClient = new DefaultHttpClient();
		HttpGet httpGet = new HttpGet(url);
		HttpResponse httpResponse = null;
		try {
			httpResponse = httpClient.execute(httpGet);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		HttpEntity httpEntity = httpResponse.getEntity();
		
		String ret = null;
		try {
			ret = EntityUtils.toString(httpEntity);
		} catch (ParseException | IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return ret;
	}
	
//	// http://res.static.mojing.cn/160630-1-1-1/android/zh/1//page//443513.js
//	// 需要什么解析什么
//	public class BaofenObj1 {
//		Data data;
//	}
//	
//	public class Data{
//		ArrayList<ObjectA> list; // 第二个VR频道导航（IOS）
//	}
//	
//	public class ObjectA{
//		String res_id;
//		String title;
//		ArrayList<ObjectB> list; // 第四个VR大片
//	}
//	
//	public class ObjectB{
//		String title;
//		String url;
//	}
	
	// 一页VR大片视频json类
	class BaofenVR{
		BaofenVRData data;
	}
	
	class BaofenVRData{
		ArrayList<BaofenVRDataObj> list;
	}
	
	class BaofenVRDataObj{
		String res_id;
		String title;
		String subtitle;
		String url;
		String pic_url;
	}
	
	// 一个VR视频json类
	class BaofenVRVideo{
		BaofenVRVideoData data;
	}
	
	class BaofenVRVideoData{
		String title;
		String subtitle;
		ArrayList<BaofenVRVideoDataOBj> video_attrs;
	    ArrayList<String> thumb_pic_url;
	}
	
	class BaofenVRVideoDataOBj{
		String definition_id;
		String definition_name;
		String size;
		String play_url;
		String download_url;
	}
	
	private static String baseUrl = "http://res.static.mojing.cn/160630-1-1-1/android/zh/";
	
//	private static String root = "http://res.static.mojing.cn/160630-1-1-1/android/zh/1/page/443513.js";
//	// VR大片地址
//	private static String vrRootUrl = "http://res.static.mojing.cn/160630-1-1-1/android/zh/1/special/443943.js";
	// VR大片视频地址
	private static String vrUrl = "http://res.static.mojing.cn/160630-1-1-1/android/zh/1/block/blockinfo/443565.js";
	
}
